
#ifndef _Shockwave_H_
#define _Shockwave_H_

#include "Utils/Vector2D.h"
#include "WorldObject.h"


class Shockwave : public WorldObject {
  public:
    Shockwave(Vector2D position, float expand_speed, float duration, float width,
              float col_r, float col_g, float col_b);
    
    ~Shockwave();

    void render(void);
    void update(void);
    bool active(void);

    bool resolveCollision(Ship *ship);
    bool resolveCollision(Weapon *weapon);
    bool resolveCollision(Map *map);

    WorldObjectType getObjectType(void) const { return EXPLOSION_WOBJECT; }

  private:

    Vector2D position;
    float expand_speed, duration, width;
    float col_r, col_g, col_b;

    float life, life_decay;
    float radius, inner_radius;
    unsigned tex_id;

};

#endif

